% Chakram is a subproject of Hexena - Haskell Executable Analyser
% License:			GPL-3
% Maintainer:		Montez Fitzpatrick
% Stability:		Experimental
% Portability:		GHC
% Module:			Hexena.Data.LoadConfigDirectory

According to Windows documentation this structure has been characteristically used
to describe features that were overly complex or too large to fit in other headers
like the File or Optional Headers.  Now this structure provides a lot of the handling
for the SEH, Structured Exception Handlers.

Microsoft provides a default SEH via the linker.  But the user can provide a their own
version to handle SEH data.

All image files provide Load Config symbols.

\begin{code}
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE TypeOperators #-}
module Hexena.Data.LoadConfigDirectory 
	( 
	-- * Data Structures
	  LoadConfigDirectory(..)
	) where

import Data.Word
import Data.Label -- Needs 'fclabels

import Hexena.Data.LoadConfigDirectory.AMD64 (AMD64(..))
import Hexena.Data.LoadConfigDirectory.X86 (X86(..))

-- | The load configuration structure for 32-bit and
--   64-bit PE files.
data LoadConfigDirectory = X86
						 | AMD64
						 deriving (Show, Eq, Ord)
\end{code}
